Extending Open64 with Transactional Memory Features

نویسندگان

  • Jiaqi Zhang
  • Wenguang Chen
  • Weimin Zheng
چکیده

The fast development of parallel platforms is demanding more parallelism in modern applications. However, the manipulation of mutual-excluded memory accesses is obstructing the way towards high productivity in parallel software development for shared memory system. Transactional Memory (TM) is a promising paradigm that helps abstract the complexity of concurrency while keeping the scalability. And the compilers for TM are needed in order to facilitate both parallel programmers and TM researchers. This paper describes the design, detailed implementation, and optimization of our extension of TM features in Open64. The preliminary experimental results show that our optimized implementation of the compiler, together with a high performance TM runtime, have the potential to be competitive for parallel programs with fine grained locks.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Pillar: A Parallel Implementation Language

As parallelism in microprocessors becomes mainstream, new programming languages and environments are emerging to meet the challenges of parallel programming. To support research on these languages, we are developing a lowlevel language infrastructure called Pillar (derived from Parallel Implementation Language). Although Pillar programs are intended to be automatically generated from source pro...

متن کامل

Mercurium: Design Decisions for a S2S Compiler

Current research on heterogeneous multiand manycore architectures requires powerful compilers. They must provide flexibility to try new language constructs, and be extensible, to increase the capacity of experimentation with different program transformations. And they must be easy to use, to reduce as much as possible the introduction of defects in the transformations, and allow rapid prototypi...

متن کامل

Strategies and Implementation for Translating OpenMP Code for Clusters

OpenMP is a portable shared memory programming interface that promises high programmer productivity for multithreaded applications. It is designed for small and middle sized shared memory systems. We have developed strategies to extend OpenMP to clusters via compiler translation to a Global Arrays program. In this paper, we describe our implementation of the translation in the Open64 compiler, ...

متن کامل

Pathological Interaction of Locks with Transactional Memory

Transactional memory (TM) promises to simplify multithreaded programming. Transactions provide mutual exclusion without the possibility of deadlock and the need to assign locks to data structures. To date, most investigations of transactional memory have looked at purely transactional systems that do not interact with legacy code using locks. Unfortunately, the reality of software engineering i...

متن کامل

ByteSTM: Virtual Machine-Level Java Software Transactional Memory

We present ByteSTM, a virtual machine-level Java STM implementation that is built by extending the Jikes RVM. ByteSTM implements two STM algorithms, TL2 and RingSTM. We modify Jikes RVM’s Optimizing compiler to transparently support implicit transactions. Being implemented at the VM-level, it accesses memory directly and handles memory uniformly, and avoids Java garbage collection by manually m...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009